// 全局服务器路由配置
// 开发环境和生产环境共用，请谨慎设置

// 项目路由配置
// 路由匹配顺序为从上到下，匹配到第一条路由则停止匹配，如果都匹配不上，则返回 404。
export const routes = [
  // 登录页的路由
  {
    type: 'normal',
    path: /^\/passport(?:\/|$)/i,
    name: 'passport',
    base: '/passport',
  },

  // 设置页的路由
  {
    type: 'normal',
    path: /^\/settings(?:\/|$)/i,
    name: 'settings',
    base: '/settings',
  },

  // SEO 路由
  {
    type: 'normal',
    path: /^\/(?:robots\.txt|sitemap\.xml)$/i,
    name: 'seo',
    base: '/seo',
  },

  // 移动端路由
  {
    type: 'ssr',
    path: ({ url, request }) => {
      const userAgent = request.get('user-agent') ?? '';
      const isMobile = /iphone|ipad|ipod|android/i.test(userAgent);

      return isMobile && url.indexOf('/') === 0;
    },
    name: 'mobile',
    base: '',
  },

  // 默认路由
  {
    type: 'ssr',
    path: /^\//,
    name: 'home',
    base: '',
  },
];
